Flexbox 

    Fundamentos do Flexbox 

    Display Flex 

    O Flexbox está dividido em dois grupos: Flex Container e Flex Item.

    display: flex;
    

    Flex Container 

    Flex Direction 

    • Define a direção dos flex itens.
    flex-direction: row;
    
    flex-direction: row-reverse;
    
    flex-direction: column;
    
    flex-direction: column-reverse;
    

    Flex Wrap 

    • Define se os itens devem quebrar ou não a linha
    • Por padrão eles não quebram (nowrap)
    flex-wrap: nowrap;
    
    flex-wrap: wrap;
    
    flex-wrap: wrap-reverse;
    

    Flex Flow 

    • Atalho para as propriedades flex-direction e flex-wrap
    flex-flow: row nowrap;
    
    flex-flow: row wrap;
    
    flex-flow: column nowrap;
    

    Justify Content 

    • Alinha os itens flex no container de acordo com a direção.
    justify-content: flex-start;
    
    justify-content: flex-end;
    
    justify-content: center;
    
    justify-content: space-between;
    
    justify-content: space-around;
    

    Align Items 

    • Alinha os flex itens de acordo com o eixo do container
    • O alinhamento é diferente para quando os itens estão em colunas ou linhas
    align-items: stretch;
    
    align-items: flex-start;
    
    align-items: flex-end;
    
    align-items: center;
    
    align-items: baseline;
    

    Align Content 

    • Alinha as linhas do container em relação ao eixo vertical
    align-content: stretch;
    
    align-content: flex-start;
    
    align-content: flex-end;
    
    align-content: center;
    
    align-content: space-between;
    
    align-content: space-around;
    

    Flex Item 

    Flex Grow 

    • Habilidade de um flex item crescer
    • Por padrão o valor é zero
    flex-grow: número;
    
    flex-grow: 0;
    

    Flex Basis 

    • tamanho inicial do flex item antes da distribuição do espaço restante
    flex-basis: auto;
    
    flex-basis: unidade;
    
    flex-basis: 0;
    

    Flex Shrink 

    • Define a capacidade de redução de tamanho do item.
    flex-shrink: 1;
    
    flex-shrink: 0;
    
    flex-shrink: número;
    

    Flex 

    • Atalho para as propriedades flex-grow, flex-shrink e flex-basis
    • Para melhor consistência entre os browsers, é recomendado utilizar a propriedade flex ao invés de cada propriedade separada
    flex: 1;
    
    flex: 0 1 auto;
    
    flex: 2;
    
    flex: 3 2 300px;
    

    Order 

    • Modifica a ordem dos flex itens
    • Sempre do menor para o maior
    order: número;
    
    order: 0;
    

    Align Self 

    • Serve para definirmos o alinhamento específico de um único flex item dentro do nosso container
    align-self: auto;
    
    align-self: flex-start;
    
    align-self: flex-end;
    
    align-self: center;
    
    align-self: baseline;
    
    align-self: stretch;